package com.twu.biblioteca;

public enum LoggedUserChoice{

    LISTBOOKS("1"){
        @Override
        void processRequest(BibliotecaApp bibliotecaApp) {
            bibliotecaApp.listBooks();
        }
    },

    CHECKOUTBOOK("2"){
        @Override
        void processRequest(BibliotecaApp bibliotecaApp) {
            bibliotecaApp.checkOutBook();
        }
    },

    RETURNBOOK("3"){
        @Override
        void processRequest(BibliotecaApp bibliotecaApp) {
            bibliotecaApp.returnBook();
        }
    },

    LISTMOVIES("4"){
        @Override
        void processRequest(BibliotecaApp bibliotecaApp) {
            bibliotecaApp.listMovies();
        }
    },

    CHECKOUTMOVIE("5"){
        @Override
        void processRequest(BibliotecaApp bibliotecaApp) { bibliotecaApp.checkOutMovie(); }
    },

    RETURNMOVIE("6"){
        @Override
        void processRequest(BibliotecaApp bibliotecaApp) {
            bibliotecaApp.returnMovie();
        }
    },

    VIEWPROFILE("7") {
        @Override
        void processRequest(BibliotecaApp bibliotecaApp) {
            bibliotecaApp.viewProfile();
        }
    },

    QUIT("8"){
        @Override
        void processRequest(BibliotecaApp bibliotecaApp) {
            System.exit(0);
        }
    };

    private final String index;

    private LoggedUserChoice(String index) {
        this.index = index;
    }

    abstract void processRequest(BibliotecaApp bibliotecaApp);

    public int getIndex() {
        return Integer.parseInt(index);
    }
}
